<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  OSGDB_EXPORT osgDB::DynamicLibrary</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  OSGDB_EXPORT <A HREF="#DOC.DOCU">osgDB::DynamicLibrary</A></H2></H2><BLOCKQUOTE>DynamicLibrary - encapsulates the loading and unloading of dynamic libraries, typically used for loading ReaderWriter plug-ins</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="Mosg::Referenced,M,CDynamicLibrary,MDynamicLibrary.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static   <!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>* <B><A HREF="#DOC.2.2.1">loadLibrary</A></B>(const std::string&amp; libraryName)
<DD><I>returns a pointer to a DynamicLibrary object on successfully opening of library returns NULL on failure</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const std::string&amp; <B><A HREF="#DOC.2.2.2">getName</A></B>() const 
<DD><I>return name of library stripped of path</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const std::string&amp; <B><A HREF="#DOC.2.2.3">getFullName</A></B>() const 
<DD><I>return name of library including full path to it</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>HANDLE <B><A HREF="#DOC.2.2.4">getHandle</A></B>() const 
<DD><I>return handle to dso/dll dynamic library itself</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>PROC_ADDRESS <B><A HREF="#DOC.2.2.5">getProcAddress</A></B>(const std::string&amp; procName)
<DD><I>return address of function located in library</I>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>HANDLE <B><A HREF="#DOC.2.2.11">_handle</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.2.12">_name</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.2.13">_fullName</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.6">DynamicLibrary</A></B>()
<DD><I>disallow default constructor</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.7">DynamicLibrary</A></B>(const <!1><A HREF="DynamicLibrary.html#DOC.2.2.7">DynamicLibrary</A>&amp;)
<DD><I>disallow copy constructor</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&amp; <B><A HREF="#DOC.2.2.8">operator == </A></B>(const <!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&amp;)
<DD><I>disallow copy operator</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.9">DynamicLibrary</A></B>(const std::string&amp; name, HANDLE handle)
<DD><I>Disallow public construction so that users have to go through loadLibrary() above which returns NULL on  failure, a valid DynamicLibrary object on success</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.2.10">~DynamicLibrary</A></B>()
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>DynamicLibrary - encapsulates the loading and unloading of dynamic libraries,
typically used for loading ReaderWriter plug-ins</BLOCKQUOTE>
<DL>

<A NAME="loadLibrary"></A>
<A NAME="DOC.2.2.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>* loadLibrary(const std::string&amp; libraryName)</B></TT>
<DD>returns a pointer to a DynamicLibrary object on successfully
opening of library returns NULL on failure
<DL><DT><DD></DL><P>
<A NAME="getName"></A>
<A NAME="DOC.2.2.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const std::string&amp; getName() const </B></TT>
<DD>return name of library stripped of path
<DL><DT><DD></DL><P>
<A NAME="getFullName"></A>
<A NAME="DOC.2.2.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const std::string&amp; getFullName() const </B></TT>
<DD>return name of library including full path to it
<DL><DT><DD></DL><P>
<A NAME="getHandle"></A>
<A NAME="DOC.2.2.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>HANDLE getHandle() const </B></TT>
<DD>return handle to dso/dll dynamic library itself
<DL><DT><DD></DL><P>
<A NAME="getProcAddress"></A>
<A NAME="DOC.2.2.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>PROC_ADDRESS getProcAddress(const std::string&amp; procName)</B></TT>
<DD>return address of function located in library
<DL><DT><DD></DL><P>
<A NAME="DynamicLibrary"></A>
<A NAME="DOC.2.2.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DynamicLibrary()</B></TT>
<DD>disallow default constructor
<DL><DT><DD></DL><P>
<A NAME="DynamicLibrary"></A>
<A NAME="DOC.2.2.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DynamicLibrary(const <!1><A HREF="DynamicLibrary.html#DOC.2.2.7">DynamicLibrary</A>&amp;)</B></TT>
<DD>disallow copy constructor
<DL><DT><DD></DL><P>
<A NAME="operator == "></A>
<A NAME="DOC.2.2.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&amp; operator == (const <!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&amp;)</B></TT>
<DD>disallow copy operator
<DL><DT><DD></DL><P>
<A NAME="DynamicLibrary"></A>
<A NAME="DOC.2.2.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DynamicLibrary(const std::string&amp; name, HANDLE handle)</B></TT>
<DD>Disallow public construction so that users have to go
through loadLibrary() above which returns NULL on 
failure, a valid DynamicLibrary object on success
<DL><DT><DD></DL><P>
<A NAME="~DynamicLibrary"></A>
<A NAME="DOC.2.2.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~DynamicLibrary()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_handle"></A>
<A NAME="DOC.2.2.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>HANDLE _handle</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_name"></A>
<A NAME="DOC.2.2.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _name</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_fullName"></A>
<A NAME="DOC.2.2.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _fullName</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
